﻿/**
 * @file PyFITKPhyscisPropBase.h
 * @brief 物理属性基类 为python装饰器接口准备的封装类
 * @author wangning (2185896382@qq.com)
 * @date 2024-12-03
 */
#ifndef _PY_PHYSICSPROP_BASE_H___
#define _PY_PHYSICSPROP_BASE_H___

#include <QString>
#include "FITKAcousticsPhysicsAPI.h"

namespace Acoustics
{
    class  FITKAcousticsAbsPhysicsProp;

    /**
     * @brief 物理属性基类 为python装饰器接口准备的封装类
     * @author wangning (2185896382@qq.com)
     * @date 2024-12-03
     */
    class FITKAcousticsPhysicsAPI PyFITKPhyscisPropBase
    {
    public:
        explicit PyFITKPhyscisPropBase(const QString& name);
        explicit PyFITKPhyscisPropBase() = default;
        virtual ~PyFITKPhyscisPropBase() = default;
        /**
         * @brief  获取名称
         * @author wangning (2185896382@qq.com)
         * @date   2024-12-03
         */
        QString getName();
        /**
         * @brief  设置名称
         * @author wangning (2185896382@qq.com)
         * @date   2024-12-03
         */
        bool setName(const QString& name);

    protected:
        FITKAcousticsAbsPhysicsProp* _phyProp{};
    };
}

#endif
